The embodiments of the invention generally relate to expedited error handling for transactions where previous portions of a transactional interchange may have been lost, discarded and forgotten, and more specifically relate to automated early detection of transaction failure situations and leveraging a reliable message transport protocol to determine appropriate transaction service interactions.
For efficiency of non-failure processing, transaction coordination protocols typically do not mandate that implementations durably record any transactional information (e.g., transactional registration state, coordinator address, or transaction identifier) until the execution of phase 1 (i.e., the voting phase) of a transaction commitment protocol has completed.
In the past, there might be a 2 message request which makes up a transaction. Request 1 might fail due to the recipient (participant 1) going down and, upon restarting, having forgotten about the Request 1. When Request 2 is received, the same recipient (now registered as participant 2) will receive and process the message. Note participant 1 and 2 are the same entity. When the requester commits the transaction, messages will be sent to participants 1 and 2 telling them to commit. Only when Participant 1 fails to respond will the problem of the loss of Request 1 be discovered.